In a magnetic recording device, such as a magnetic tape or disk, the process of recovering data includes decoding read data stored on the recording device. In that process, N multiple decoding channels may be provided, each channel operating on the same analog or digital read data. Each of these channels can be designed to perform optimally under various signal characteristics.
In each channel, if no error is detected during decoding, the channel presents a properly decoded data output. Alternatively, however, if an error is detected during decoding, the channel presents a decode Error Detection Code (EDC) error output. In such magnetic recording devices, one of the outputs from the multiple channels is then selected for transmission and further use. In that regard, if any one or more channels present properly decoded data outputs, one such output is the output selected.
As is known in the art, in such magnetic recording devices, an inner Error Correction Code (ECC) decoder may be provided. Such an inner ECC decoder may be used to attempt to correct the output of a channel presenting a decode EDC error. However, when an inner ECC decoder is introduced in such a magnetic recording device, a problem arises in selecting which channel output to correct if all channels are in error, i.e., if all channels present decode EDC errors.
The present approach to such a situation is to essentially guess which channel output to select to be sent to the inner ECC decoder for processing. For example, the output selected may be the output from the statistically most reliable channel, or simply the output that represents the least significant type of decode EDC error. Regardless, whichever channel output is selected is then sent to the inner ECC decoder in an attempt to correct the error.
Such an approach, however, may not be the best answer, as it presents an additional problem. Namely, it is possible that even after operation of the inner ECC decoder on the channel output selected, the decode EDC error is uncorrectable. In that case, one or more other channel outputs that were not selected may have been correctable by the inner ECC decoder. While the magnetic recording device might be configured to then select an output from the remaining channels for processing by the inner ECC decoder, continuing until a selected output is successfully corrected or all channel outputs have been exhausted, such sequential or serial selection would increase processing time, causing delay.
Thus, there is needed, in a magnetic recording device, an improved system and method for error correction in multi-channel decoding of read data. Such a system and method would provide an inner ECC decoder for each of the N multiple channels. Rather than, as in the prior art, guessing which channel output should be sent to the inner ECC decoder, in such an improved system and method, every channel output would be passed through an inner ECC decoder prior to the selection process. By using multiple dedicated inner ECC decoders, such a system and method would guarantee that no correctable channel output will be overlooked, without causing delay by increasing processing time. If multiple channels decode properly (either no decode EDC errors are presented, or any such errors are corrected by an inner ECC decoder), data from one such successful channel is selected and sent on. Similarly, if all of the channels present decode EDC errors and are all still in error even after inner ECC decoder operation (all channel outputs were uncorrectable), data from one channel is selected and sent on. The combination of separate channel characteristics and separate inner ECC decoders for each channel provides the greatest chance for successful decoding in a multi-channel architecture.